package com.jdbc_.resultset;

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;

public class Demo1 {
    // 演示select查询语句返回ResultSet，并取出结果
    public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {
        // 1、通过Properties对象获取配置文件信息
        Properties properties = new Properties();
        properties.load(new FileInputStream("src\\com\\jdbc_\\mysql.properties"));
        String user = properties.getProperty("user");
        String password = properties.getProperty("password");
        String url = properties.getProperty("url");
        String driver = properties.getProperty("driver");

        // 2、获取连接
        Class.forName(driver);  // 建议写上
        Connection connection = DriverManager.getConnection(url, user, password);

        // 3、执行sql
        String sql = "select id, name, sex, borndate from actor";
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(sql);  // 注意是Query，它返回一个结果集ResultSet对象

        // 4、使用while循环遍历结果集
        while (resultSet.next()) {  // next让光标向后移动，如果没有更多行，则返回false
            int id = resultSet.getInt(1);  // 获取该行的第一列
            // int id = resultSet.getInt("id");  // 用列名也可以
            String name = resultSet.getString(2);  // 获取该行的第2列
            String sex = resultSet.getString(3);// 获取该行的第三列
            Date borndate = resultSet.getDate(4);// 获取该行的第4列
            System.out.println(id + "\t" + name + "\t" + sex + "\t" + borndate);
        }

        // 依次关闭连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}